 | | LONGITUD |
“En el espacio abstracto solo hay dos dimensiones: longitud y profundidad” (el autor)
Semántica
La longitud (o amplitud) de una expresión x
es igual a su número de componentes, siendo x
una secuencia o un conjunto. Si la expresión es abierta, la longitud es cero.
Sintaxis
Definición
〈( x# = (0 ←' x\1 → (1 + (x '∪ x\1)#)) )〉
La definición es recursiva:
- Si no existe el primer componente (lo que ocurre con una expresión abierta), la longitud de la expresión es cero.
- En caso contrario, el resultado es uno más la longitud de la misma expresión sin el primer elemento.
Justificación
La longitud de una expresión es una operación muy frecuente, por lo que es útil tenerla previamente definida.
Ejemplos
a# // ev. 1 (un átomo es una secuencia de longitude 1)
{a b c}# // ev. 3
(a b c)# // ev. 3
(a+b+c)# // ev. 5
(123)# // ev. 3
123# // ev. 3
( 123 )# // ev. 1
(−123)# // ev. 2
( 1…10 )# // ev. 10
(x/y)# // ev. 3
(a (b c)) // ev. 2
(x=3)# // ev. 3
(a b c)# // ev. 0 (la expresión es abierta)
Recursión conceptual
La expresión (x#)#
es la longitud de la longitud de x. Ejemplos:
(x = (a b c))
x# // ev. 3
(x#)# // ev. 1 (la longitud de 3)
((x#)#)# // ev. 1 (la longitud de 1)
(x = ( 1…10 ))
x# // ev. 10
(x#)# // ev. 2 (la longitud de 10)
((x#)#)# // ev. 1 (la longitud de 2)
Realmente no haría falta especificar paréntesis anidados porque hay asociatividad implícita por la izquierda: x###
eq. ((x#)#)#
Propiedades
()# = 0) // la longitud de la secuencia vacía es cero
{}# = 0) // la longitud del conjunto vacío es cero
(θ# = #) // no se puede aplicar la longitud a la expresión nula
((α°)# = 1) // la longitud se refiere al símbolo
((Ω°)# = 1) // la longitud se refiere al símbolo
〈( (x\1 = x) ← (x# = 1) )〉 // expresión de longitud 1 (átomo)